困难啊`疑惑啊`高手求助啊``

来源:百度知道 编辑:UC知道 时间:2024/06/30 05:00:59
程序功能
本程序实现如下功能:定义日期类CTime;在程序中实列化类的对象并调用类的成员函数,由基本类CTime创建派生类CSubTime:实现类成员函数的重载;在基类和派生类中实现虚拟函数。
操作要求
1用AppWizaed创建控制台应用程序,按要求给工程命名,并将空成保存到指定目录下:在VC++中创建一个空的控制台应用程序(an empty project),
工程名设置为test2_1.保存到考试文件夹的Test2子目录中,在工程中添加一个C++源文件(C++SourceFile),文件名设置为Test2_1,同样保存到考试文件夹下的Test2子目录中.
2定义指定的类,为其定义成员变量和成员函数;定义日期类,它包含三个成员变量和两个成员函数:
>公有成员变量Year,数据类型int.,代表年份
>保护成员变量Month,数据类型int,,代表月份
>私有成员变量Day,数据类型int,代表日期
>公有成员函数DateSet(),功能是将参数值依次赋给类的三个成员变量Year,Minth,Day,声明如下:
void DateSet(int,int,int)
>公有成员函数DateDisplay(),功能是在屏幕上显示成员变量的值,输出的格式如图中的第1行,声明如下:
void DateDisplay()
3创建类的实列,既对象,并调用成员函数给对对象赋值,在屏幕上显示对象的内容:在程序中实列化类CDate的对象day,并调用类成员函数DateSet()为其赋值:Year值为2000,Month值为1,Day值为1;然后调用成员函数DateDisplay()在屏幕上显示成员变量信息。
4由已定的基类派生子类,并定义派生类的成员函数;在程序中实列化派生类对象,并调用成员函数实现指定功能:定义类CDate的派生类CSubDate.在派生类中定义新的成员函数YearDisplay(),声明如下:
void YearDisply()
功能是显示对象中的年份值,输出格

#include<iostream>
using namespace std;

class CDate
{
private:
int Day;
protected:
int Month;
public:
int Year;
void DateSet(int y, int m, int d) { Year=y; Month=m; Day=d; }
void DateDisplay() { cout<<"current date is "<<Year<<"-"<<Month<<"-"<<Day<<endl; }
virtual void MonthDisplay() { cout<<"current month is "<<Month<<endl; }
};

class CSubDate : public CDate
{
public:
void YearDisplay() {cout<<"current year is "<<Year<<endl; }
void YearDisplay(int y) { cout<<"the year after "<<y<<" years is "<<Year+y<<endl; }
void MonthDisplay() { cout<<"current month is "<<Month<<" and year is "<<Year<<endl; }
};

int main()
{
C